home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / CPlusPlus / Arbitrat.xh next >
Encoding:
Text File  |  1994-04-19  |  7.5 KB  |  309 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:CPlusPlus:Arbitrat.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emitxh.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Theory of Operation
  13.  * 
  14.  * 
  15.  *  Constants
  16.  * 
  17.  * 
  18.  *  Scalar Types
  19.  * 
  20.  * 
  21.  *  Class defined in this interface
  22.  * 
  23.  */
  24.  
  25.  
  26. #ifndef SOM_ODArbitrator_xh
  27. #define SOM_ODArbitrator_xh
  28.  
  29. class ODArbitrator;
  30.  
  31. #define ODArbitrator_MajorVersion 1
  32. #define ODArbitrator_MinorVersion 0
  33.  
  34. /* C++ som defs */
  35. #include <somcls.xh>
  36.  
  37. /* Include C++ parent defs */
  38. #ifndef SOM_ODObject_xh
  39. #include <ODObject.xh>
  40. #endif
  41.  
  42. #ifndef ODArbitrator_API
  43. #define ODArbitrator_API
  44. /*
  45.  * -- The Class API
  46.  */
  47.  
  48. /*
  49.  * Start of user-defined types:
  50.  */
  51. class ODExtension;
  52. class ODSession;
  53. class ODFocusOwnerIterator;
  54. class ODFocusModule;
  55. class ODFocusSet;
  56. class ODFrame;
  57.  
  58. /*
  59.  * End of user-defined types.
  60.  */
  61.  
  62. #if applec ^ PRAGMA_LIB_EXPORT
  63. #pragma lib_export on
  64. #endif
  65.  
  66.  
  67. /* A procedure to create the ODArbitrator Class */
  68. SOMEXTERN SOMClass * SOMLINK ODArbitratorNewClass(
  69.         integer4 majorVersion,
  70.         integer4 minorVersion);
  71.  
  72. /* The API to the ODArbitrator class object, and the methods it introduces. */
  73. typedef struct ODArbitratorClassDataStructure {
  74.     SOMClass *classObject;
  75.     somMToken RequestFocusSet;
  76.     somMToken RequestFocus;
  77.     somMToken RelinquishFocusSet;
  78.     somMToken RelinquishFocus;
  79.     somMToken TransferFocus;
  80.     somMToken TransferFocusSet;
  81.     somMToken GetFocusOwner;
  82.     somMToken CreateOwnerIterator;
  83.     somMToken RegisterFocus;
  84.     somMToken UnregisterFocus;
  85.     somMToken IsFocusRegistered;
  86.     somMToken IsFocusExclusive;
  87.     somMToken reserved1;
  88.     somMToken reserved2;
  89.     somMToken reserved3;
  90.     somMToken reserved4;
  91.     somMToken reserved5;
  92.     somMToken reserved6;
  93. } ODArbitratorClassDataStructure;
  94. #ifdef SOM_NO_DATA_EXPORTS
  95.    SOMEXTERN ODArbitratorClassDataStructure * ODArbitratorGetClassData ( void );
  96. #   undef ODArbitratorClassData
  97. #   define ODArbitratorClassData (*ODArbitratorGetClassData())
  98. #else
  99.    SOMEXTERN ODArbitratorClassDataStructure ODArbitratorClassData;
  100. #endif /* SOM_NO_DATA_EXPORTS */
  101.  
  102. #if applec ^ PRAGMA_LIB_EXPORT
  103. #pragma lib_export off
  104. #endif
  105.  
  106. #define _ODArbitrator ODArbitratorClassData.classObject
  107.  
  108. /* The API to parentMtabs for ODArbitrator, and the instance data it introduces. */
  109. SOMEXTERN struct ODArbitratorCClassDataStructure {
  110.     somMethodTabs parentMtab;
  111.     somDToken instanceDataToken;
  112. } ODArbitratorCClassData;
  113.  
  114. /*
  115.  * -- Typedefs for Procedures that support Methods introduced by ODArbitrator
  116.  */
  117. SOMEXTERN {
  118. typedef ODBoolean   (* SOMLINK somTD_ODArbitrator_RequestFocusSet)(ODArbitrator *somSelf, Environment *ev,
  119.         ODFocusSet* focusSet,
  120.         ODFrame* requestingFrame);
  121. typedef ODBoolean   (* SOMLINK somTD_ODArbitrator_RequestFocus)(ODArbitrator *somSelf, Environment *ev,
  122.         ODTypeToken focus,
  123.         ODFrame* requestingFrame);
  124. typedef void   (* SOMLINK somTD_ODArbitrator_RelinquishFocusSet)(ODArbitrator *somSelf, Environment *ev,
  125.         ODFocusSet* focusSet,
  126.         ODFrame* relinquishingFrame);
  127. typedef void   (* SOMLINK somTD_ODArbitrator_RelinquishFocus)(ODArbitrator *somSelf, Environment *ev,
  128.         ODTypeToken focus,
  129.         ODFrame* relinquishingFrame);
  130. typedef void   (* SOMLINK somTD_ODArbitrator_TransferFocus)(ODArbitrator *somSelf, Environment *ev,
  131.         ODTypeToken focus,
  132.         ODFrame* transferringFrame,
  133.         ODFrame* newOwner);
  134. typedef void   (* SOMLINK somTD_ODArbitrator_TransferFocusSet)(ODArbitrator *somSelf, Environment *ev,
  135.         ODFocusSet** focusSet,
  136.         ODFrame* transferringFrame,
  137.         ODFrame* newOwner);
  138. typedef ODFrame*   (* SOMLINK somTD_ODArbitrator_GetFocusOwner)(ODArbitrator *somSelf, Environment *ev,
  139.         ODTypeToken focus);
  140. typedef ODFocusOwnerIterator*   (* SOMLINK somTD_ODArbitrator_CreateOwnerIterator)(ODArbitrator *somSelf, Environment *ev,
  141.         ODTypeToken focus);
  142. typedef void   (* SOMLINK somTD_ODArbitrator_RegisterFocus)(ODArbitrator *somSelf, Environment *ev,
  143.         ODTypeToken focus,
  144.         ODFocusModule* focusModule);
  145. typedef void   (* SOMLINK somTD_ODArbitrator_UnregisterFocus)(ODArbitrator *somSelf, Environment *ev,
  146.         ODTypeToken focus);
  147. typedef ODBoolean   (* SOMLINK somTD_ODArbitrator_IsFocusRegistered)(ODArbitrator *somSelf, Environment *ev,
  148.         ODTypeToken focus);
  149. typedef ODBoolean   (* SOMLINK somTD_ODArbitrator_IsFocusExclusive)(ODArbitrator *somSelf, Environment *ev,
  150.         ODTypeToken focus);
  151. }
  152.  
  153. #endif /* ODArbitrator_API */
  154.  
  155.  
  156. /*
  157.  * -- Method Tokens are Thunks
  158.  */
  159. #undef somresolve_
  160. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  161.  
  162. /*
  163.  * -- The C++ Wrapper Class for ODArbitrator
  164.  */
  165. class ODArbitrator : public ODObject
  166. {
  167. public:
  168.  
  169. void *operator new(size_t size)
  170. {
  171.    SOM_IgnoreWarning(size);
  172.    if (!ODArbitratorClassData.classObject) 
  173.       ODArbitratorNewClass(ODArbitrator_MajorVersion,ODArbitrator_MinorVersion);
  174.    return (void *)
  175.       ((somTD_SOMClass_somNew)
  176.       somresolve_((SOMObject *)((void*)(ODArbitratorClassData.classObject)),
  177.                  SOMClassClassData.somNew))
  178.          ((SOMClass *)((void*)(ODArbitratorClassData.classObject)));
  179. }
  180.  
  181. void operator delete(void * obj)
  182. {
  183.    ((SOMObject *)obj)->somFree();
  184. }
  185.  
  186. /* public method: RequestFocusSet */
  187. ODBoolean   RequestFocusSet(Environment *ev,
  188.         ODFocusSet* focusSet,
  189.         ODFrame* requestingFrame)
  190. {
  191.    return SOM_Resolve(this,ODArbitrator,RequestFocusSet)
  192.     (this,ev,focusSet,requestingFrame);
  193. }
  194.  
  195.  
  196. /* public method: RequestFocus */
  197. ODBoolean   RequestFocus(Environment *ev,
  198.         ODTypeToken focus,
  199.         ODFrame* requestingFrame)
  200. {
  201.    return SOM_Resolve(this,ODArbitrator,RequestFocus)
  202.     (this,ev,focus,requestingFrame);
  203. }
  204.  
  205.  
  206. /* public method: RelinquishFocusSet */
  207. void   RelinquishFocusSet(Environment *ev,
  208.         ODFocusSet* focusSet,
  209.         ODFrame* relinquishingFrame)
  210. {
  211.    SOM_Resolve(this,ODArbitrator,RelinquishFocusSet)
  212.     (this,ev,focusSet,relinquishingFrame);
  213. }
  214.  
  215.  
  216. /* public method: RelinquishFocus */
  217. void   RelinquishFocus(Environment *ev,
  218.         ODTypeToken focus,
  219.         ODFrame* relinquishingFrame)
  220. {
  221.    SOM_Resolve(this,ODArbitrator,RelinquishFocus)
  222.     (this,ev,focus,relinquishingFrame);
  223. }
  224.  
  225.  
  226. /* public method: TransferFocus */
  227. void   TransferFocus(Environment *ev,
  228.         ODTypeToken focus,
  229.         ODFrame* transferringFrame,
  230.         ODFrame* newOwner)
  231. {
  232.    SOM_Resolve(this,ODArbitrator,TransferFocus)
  233.     (this,ev,focus,transferringFrame,newOwner);
  234. }
  235.  
  236.  
  237. /* public method: TransferFocusSet */
  238. void   TransferFocusSet(Environment *ev,
  239.         ODFocusSet** focusSet,
  240.         ODFrame* transferringFrame,
  241.         ODFrame* newOwner)
  242. {
  243.    SOM_Resolve(this,ODArbitrator,TransferFocusSet)
  244.     (this,ev,focusSet,transferringFrame,newOwner);
  245. }
  246.  
  247.  
  248. /* public method: GetFocusOwner */
  249. ODFrame*   GetFocusOwner(Environment *ev,
  250.         ODTypeToken focus)
  251. {
  252.    return SOM_Resolve(this,ODArbitrator,GetFocusOwner)
  253.     (this,ev,focus);
  254. }
  255.  
  256.  
  257. /* public method: CreateOwnerIterator */
  258. ODFocusOwnerIterator*   CreateOwnerIterator(Environment *ev,
  259.         ODTypeToken focus)
  260. {
  261.    return SOM_Resolve(this,ODArbitrator,CreateOwnerIterator)
  262.     (this,ev,focus);
  263. }
  264.  
  265.  
  266. /* public method: RegisterFocus */
  267. void   RegisterFocus(Environment *ev,
  268.         ODTypeToken focus,
  269.         ODFocusModule* focusModule)
  270. {
  271.    SOM_Resolve(this,ODArbitrator,RegisterFocus)
  272.     (this,ev,focus,focusModule);
  273. }
  274.  
  275.  
  276. /* public method: UnregisterFocus */
  277. void   UnregisterFocus(Environment *ev,
  278.         ODTypeToken focus)
  279. {
  280.    SOM_Resolve(this,ODArbitrator,UnregisterFocus)
  281.     (this,ev,focus);
  282. }
  283.  
  284.  
  285. /* public method: IsFocusRegistered */
  286. ODBoolean   IsFocusRegistered(Environment *ev,
  287.         ODTypeToken focus)
  288. {
  289.    return SOM_Resolve(this,ODArbitrator,IsFocusRegistered)
  290.     (this,ev,focus);
  291. }
  292.  
  293.  
  294. /* public method: IsFocusExclusive */
  295. ODBoolean   IsFocusExclusive(Environment *ev,
  296.         ODTypeToken focus)
  297. {
  298.    return SOM_Resolve(this,ODArbitrator,IsFocusExclusive)
  299.     (this,ev,focus);
  300. }
  301.  
  302.  
  303.  
  304. };   /* ODArbitrator */
  305.  
  306.  
  307.  
  308. #endif       /* SOM_ODArbitrator_xh */
  309.